package com.cheng.learn.leetcode;

/**
 * @description: 跳跃游戏，判断是否能跳跃
 * @author: ChengHaiZhu
 * @create: 2021-03-21 19:05
 **/
public class CanJump55 {

    /**
     * 跳跃游戏
     * @param nums
     * @return
     */
    public boolean canJump(int[] nums) {
        int n = nums.length;
        // 记录能够跳到得最远距离
        int reach = 0;
        for (int i = 0; i < n; i++) {
            // 如果当前下标大于当前能跳到的最远距离，说明当前点已经跳不到了
            if(i > reach){
                return false;
            }
            // 获取最大的能够到达的位置
            reach = Math.max(reach,nums[i] + i);
        }
        return true;
    }
}
